// pages/user_info/user_info.js
const aliSdk = require("../../utils/aliIot-sdk.js")
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    deviceName: '点击扫描',
    product_type: '',
    code: '',
    openid: '',
    login_text: '立即登录',
    userInfo: null, // 存储用户信息
    selectedOption: '',
    isHiddin: true,
    scanResult: '', // 存储扫描结果
  },
  /**
   * 获取头像
   * @param {} options 
   */
  getAcatar: function (e) {
    this.setData({
      avatarUrl: e.detail.avatarUrl

    })
  },
  /**
   * 
   * @param {获取昵称} e 
   */
  get_nickname(e) {
    this.setData({
      nickname: e.detail.value
    })
  },

  /**
   * 去登录
   */
  goLogin() {
    this.setData({
      isHiddin: false,
      isLogin: false
    })
  },
  /**
   * 
   * 退出登录
   */
  get_out() {
    this.setData({
      userInfo: null
    })
    wx.setStorageSync("userinfo", null)
  },

  /**
   * 
   * 弹窗登录
   */
  pop_no() {
    this.setData({
      isHiddin: true
    })
  },

  /**
   * 按钮确定
   */
  pop_yes() {
    let avatarUrl = this.data.avatarUrl;
    let nickname = this.data.nickname
    if (!avatarUrl) {
      wx.showToast({
        title: '请获取头像',
        icon: 'error'
      })
      return
    }
    if (!nickname) {
      wx.showToast({
        title: '请获取昵称',
        icon: 'error'
      })
      return
    }
    let userInfo = {}
    userInfo.avatarUrl = avatarUrl;
    userInfo.nickname = nickname;
    wx.setStorageSync('userinfo', userInfo);
    this.setData({
      isHiddin: true,
      userInfo: userInfo
    })

  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function () {
    const that = this;
    const value = wx.getStorageSync('deviceName'); // 从本地获取值
    const product_type = wx.getStorageSync('product_type'); // 从本地获取值
    const selectedOption = wx.getStorageSync('selectedOption'); // 存储到本地

    if (product_type === 'a11uQJCzUPe') {
      // 超声波岩盐气溶胶治疗仪
      that.setData({
        product_type: that.data.product_type,
        deviceName: value,   // 也将输入框的值设置为存储的值
        selectedOption: selectedOption
      });
    } else {
      // 盐氧超声波岩盐气溶胶治疗仪
      that.setData({
        product_type: that.data.product_type,
        deviceName: value,   // 也将输入框的值设置为存储的值
        selectedOption: selectedOption
      });
    }

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    let userInfo = wx.getStorageSync('userinfo');
    if (userInfo && userInfo.nickname) {
      this.setData({
        userInfo: userInfo
      })
    } else {
      //  显示授权登录页面
    }

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
  },

     /**
   * 机器编码输入框
   */
   onInputDeviceName: function(e) {
    const that = this;
    const regex = /^KC\d{10}$/;
    let dName_result = (e.detail.value).substr(2, 2);

    if (regex.test(e.detail.value)) {
      // 盐氧超声波岩盐气溶胶治疗仪
      if (dName_result == 90 || dName_result == 91 || dName_result == 94) {
        wx.setStorageSync('deviceName', e.detail.value); // 存储到本地
        wx.setStorageSync('product_type', 'a1L4GogBzON'); // 存储到本地
        wx.setStorageSync('selectedOption', '制氧超声波岩盐气溶胶治疗仪'); // 存储到本地
        wx.setStorageSync('mode_type', dName_result); // 存储到本地
        that.setData({
          deviceName: e.detail.value,
          product_type: 'a1L4GogBzON',
          selectedOption: '制氧超声波岩盐气溶胶治疗仪'
        });
        wx.showToast({
          title: '保存成功',
          icon: 'success',
          duration: 2000.
        });
      }
      // 超声波岩盐气溶胶治疗仪 
      if (dName_result == 95 || dName_result == 96 || dName_result == 99) {
        wx.setStorageSync('deviceName', e.detail.value); // 存储到本地
        wx.setStorageSync('product_type', 'a11uQJCzUPe'); // 存储到本地
        wx.setStorageSync('selectedOption', '超声波岩盐气溶胶治疗仪'); // 存储到本地
        wx.setStorageSync('mode_type', dName_result); // 存储到本地
        that.setData({
          deviceName: e.detail.value,
          product_type: 'a11uQJCzUPe',
          selectedOption: '超声波岩盐气溶胶治疗仪'
        });
        wx.showToast({
          title: '保存成功',
          icon: 'success',
          duration: 2000.
        });

      }
      that.loadData();
    } else {
      wx.showToast({
        title: '设备编码无效!',
        icon: 'error',
        duration: 3000
      });
    }
   
},
  /**
   * 机器编码扫码框
   */
  bindKeyInput: function (e) {
    const that = this;
    const regex = /^KC\d{10}$/;
    wx.scanCode({
      onlyFromCamera: false, // 只允许从相机扫码
      success(res) {
        // 获取设备编码  KC0424010001
        let dName_result = (res.result).substr(2, 2);
        // 获取月份  KC0424010001
        // let dName_result_month = (res.result).substr(5, 2);
        // 正则校验输入的机器编码
        if (regex.test(res.result)) {
          // 盐氧超声波岩盐气溶胶治疗仪
          if (dName_result == 90 || dName_result == 91 || dName_result == 94) {
            wx.setStorageSync('deviceName', res.result); // 存储到本地
            wx.setStorageSync('product_type', 'a1L4GogBzON'); // 存储到本地
            wx.setStorageSync('selectedOption', '制氧超声波岩盐气溶胶治疗仪'); // 存储到本地
            wx.setStorageSync('mode_type', dName_result); // 存储到本地
            that.setData({
              deviceName: res.result,
              product_type: 'a1L4GogBzON',
              selectedOption: '制氧超声波岩盐气溶胶治疗仪'
            });
            wx.showToast({
              title: '保存成功',
              icon: 'success',
              duration: 2000.
            });
          }
          // 超声波岩盐气溶胶治疗仪 
          if (dName_result == 95 || dName_result == 96 || dName_result == 99) {
            wx.setStorageSync('deviceName', res.result); // 存储到本地
            wx.setStorageSync('product_type', 'a11uQJCzUPe'); // 存储到本地
            wx.setStorageSync('selectedOption', '超声波岩盐气溶胶治疗仪'); // 存储到本地
            wx.setStorageSync('mode_type', dName_result); // 存储到本地
            that.setData({
              deviceName: res.result,
              product_type: 'a11uQJCzUPe',
              selectedOption: '超声波岩盐气溶胶治疗仪'
            });
            wx.showToast({
              title: '保存成功',
              icon: 'success',
              duration: 2000.
            });

          }
          that.loadData();
        } else {
          wx.showToast({
            title: '设备编码无效!',
            icon: 'error',
            duration: 3000
          });
        }
      }
    });
  },

  /**
   * 校验按钮--查询云端设备是否存在
   */
  devname_verify: function () {
    const that = this
    const result = that.loadData();
    if (result == 1) {
      wx.showToast({
        title: '机器编码正确',
        icon: 'success',
        duration: 1000
      });
      // 登录成功后跳转
      wx.switchTab({
        url: '/pages/wifi/wifi'
      });
    } else {
      wx.showToast({
        title: '重新绑定',
        icon: 'error',
        duration: 3000,
      });
    }
  },

  /**
   * 跟云平台通讯,查看是否有此设备编码
   * 通过封装的sdk读取物联网平台数据
   */
  loadData: function () {
    const that = this;
    const sign_result = 0;
    aliSdk.request({
      Action: "QueryDevicePropertyStatus",
      ProductKey: wx.getStorageSync('product_type'),
      DeviceName: wx.getStorageSync('deviceName'),
    }, {
      method: "POST"
    },
      (res) => {
        // 登录成功
        if (res.data.Success) {
          that.sign_result = 1
        } else {
          that.sign_result = 2
        }
      }
    )
    return that.sign_result;
  },

  /**
   * 在线客服
   */
  handleContact: function(){
    wx.showModal({
      title: '添加微信',
      content: '请打开微信，搜索微信号：kckj2006',
      confirmText: '复制微信号',
      success(res) {
        if (res.confirm) {
          wx.setClipboardData({ data: 'kckj2006' });
        }
      }
    });
    
  },
    kefu: function () {
    wx.openCustomerServiceChat({
      extInfo: { url: 'https://work.weixin.qq.com/kfid/kfcce98c6493f0580be' },
      corpId: 'wwb05f293229e784ad',
      success(res) {

      },
      fail(err) {

      }
    })
},

  /**
   * 跳转--到关于我们页面
   */
  company_information: function () {
    wx.navigateTo({
      url: '/pages/company_information/company_information'
    });
  },

  /**
   * 跳转--到基本信息界面
   */
  user_info: function () {
    wx.navigateTo({
      url: '/pages/user_info/user_info'
    });
  },

  /**
   * 将返回结果转成key,value的json格式方便使用
   */
  convertPropertyStatusInfo: function (infos) {
    var data = {}
    infos.forEach((item) => {
      data[item.Identifier] = item.Value ? item.Value : null
    })
    return data
  }
})